$(document).ready(function(){   
    
    var id= $("#idrx").val();
    
    traerRequerimiento(id);  
    if($("#est").text()==="CERRADO"||$("#est").text()==="PENDIENTE"){
        $('#cerrar').attr("disabled",true);
        $('#resolver').attr("disabled",true);
        $('#avanceBtn').attr("disabled",true);
    }
    
//    if($("#est").text()==="PENDIENTE"){
//        $('#cerrar').attr("disabled",true);
//        $('#resolver').attr("disabled",true);
//        $('#avanceBtn').attr("disabled",true);
//    }
    
    if($("#est").text()==="RESUELTO"){
        $('#resolver').attr("disabled",true);
    }
    
        
    
    var issue = $("#codigo").text()
    
    $('input[type="file"]').ajaxfileupload({
        'action': '/xmlc2/FileUploadHandler?req='+issue,
        'params': {
        'id': "datoxxxxxxxxxxx"
        },
        'onComplete': function(response) {        
            listarArchivos(issue);
            $("#dlg_artefactos").dialog( "close" );
      }
    });
    
    listarArchivos(issue);
    listarSub(id);    
    $('#nuevo_sub').click(nuevo);    
    $('#nuevo_com').click(nuevocom);    
    $('#avanceBtn').click(nuevoava);    
    $('#cerrar').click(nuevocer);    
    $('#resolver').click(nuevores);
    $('#reasignar').click(nuevorea);
    validarSub();
    listarComentarios(id);
    listarAcciones(id);
    
    
    //listar el avance    
    listarAvance(id);
    
    
    
    i=0;
    $("#coms li").each(function (i) {
        i = i+1;
        $(this).prepend('<span class="commentnumber"> #'+ i + '</span>');
    });

    $("#buscar").autocomplete({
        source: "/xmlc2/ListaBuscadorServlet",
        minLength: 2,
        select: function(event, ui) {
            $(this).val("");
            location.href = "/xmlc2/ControlServlet?accion=requerimiento.jsp?idrx=" + ui.item.id;
        }
    });
    
    
    //SPINER
    $("#avance").spinner({max: 100,min:0,step:5});
    $("#tiempo").spinner({max: 100,min:0});
    
    
    
    //    $('.fecedit').bind('dblclick', function() {
    //        $(this).attr('contentEditable', true);
    //    }).blur(
    //        function() {
    //            $(this).attr('contentEditable', false);
    //        });
    
    $('.fecedit').editable('/xmlc2/EditarRequerimientoServlet', { 
        //indicator : "<img src='img/indicator.gif'>",
        submitdata : {tabla: "Requerimiento",llave:$("#idrx").val()},
        type      : "datepicker",        
        submit    : 'OK',
        tooltip   : "Click to edit...",
        callback  : function(){               
                var id= $("#idrx").val();    
                traerRequerimiento(id);  
        }
    });
    
    $('#desc').editable('/xmlc2/EditarRequerimientoServlet', { 
         type      : 'textarea',
         submitdata : {tabla: "Requerimiento",llave:$("#idrx").val()},
         cancel    : 'Cancel',
         submit    : 'OK',      
         tooltip   : 'Click to edit...',
        callback  : function(){               
                var id= $("#idrx").val();    
                traerRequerimiento(id);  
        }
     });
    
    //validar tipo
    if($("#idtipo").val()==="1"||$("#idtipo").val()==="2"){      
        $('#avanceBtn').attr("disabled",true); 
        $('#cerrar').attr("disabled",true);
        if($("#avance").val()!=="100"){            
            $('#resolver').attr("disabled",true);
        }
    }
        
    if($("#principalid").val()!==""){
        $("#div-res").hide();
    }
    
    
});

function validarSub(){
    if($("#principalid").val()!==""){
        $("#tab1").hide();
    }
}

//requerimiento individual
function traerRequerimiento(id){
        $.ajax({
        url: "/xmlc2/TraerRequerimientoServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(resp){                        
            $("#codigo").text(resp.codigo);
            $("#proyecto").text(resp.descripcionProyecto+'-'+resp.tituloPadre);
            $("#titulo").text(resp.titulo);
            $("#req").text(resp.descripcionTipo); 
            $("#idtipo").val(resp.idTipo); 
            $("#ite").text(resp.codigoIteracion);
            $("#est").text(resp.descripcionEstado);
            $("#desc").text(resp.descripcion); 
            $("#resp").text(resp.descripcionResponsable); 
            $("#autor").text(resp.descripcionAutor); 
            $("#inicio").text(resp.inicioRequerimiento); 
            $("#fin").text(resp.finRequerimiento); 
            $("#principal").text(resp.codRequerimiento); 
            $("#principalid").val(resp.idRequerimiento); 
            $("#pri").text(resp.descripcionPrioridad); 
            $("#id_requerimiento").val(resp.id); 
            if(!resp.codRequerimiento){                
                $("#der1").hide();
            }
            
        }
    });
}


function listarArchivos(issue){
    $.ajax({
        url: "/xmlc2/ListaArchivosServlet",
        dataType: 'json',
        data: {req:issue},
        async: false,
        success: function(json){                        
            
            var $detalles = "";
            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<a href='javascript:descargarArchivo(\""+issue+"\",\""+json[i].archivo+"\")'>"+json[i].archivo+"</a>";  
                                    $detalles+="&nbsp;<img src='ui/images/delete.png' width='11px' height='11px' onclick='javascript:borrarArchivo(\""+issue+"\",\""+json[i].archivo+"\")' />";  
                                $detalles+="</li>";
                            });
                $("#art").html($detalles);     
            
        }
    });
}

function listarSub(id){
    $.ajax({
        url: "/xmlc2/ListaSubServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){                        
            
            var $detalles = "";
            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<a href='javascript:abrirRequerimiento(\""+json[i].id+"\")'>"+json[i].cod+"-"+json[i].descripcion+"</a>";                                      
                                $detalles+="</li>";
                            });
                $("#subs").html($detalles);     
            
        }
    });
}

function abrirPrincipal(){
     abrirRequerimiento($("#principalid").val());
}



function abrirRequerimiento(id){
    location.href = "/xmlc2/ControlServlet?accion=requerimiento.jsp?idrx="+id;
}


function cargarArchivos(){
    $( "#dlg_artefactos" ).dialog({
      resizable: false,
      height:250,
      width:500,
      modal: true,
      buttons: {
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
}

function borrarArchivo(issue,archivo){
    
    if(confirm("Seguro de eliminar el archivo?")){
        $.ajax({
            url: "/xmlc2/BorrarArchivoServlet",
            dataType: 'json',
            data: {issue:issue,archivo:archivo},
            async: false,
            success: function(json){                                    
                if(parseInt(json.error)===1){
                    alert("Archivo eliminado correctamente");
                    listarArchivos(issue);
                }else{
                    alert("Ocurrieron errores al intentar eliminar el archivo");
                }

            }
        });
    }
}



function descargarArchivo(issue,archivo){
    pop("/xmlc2/FileDownloadHandler?issue="+issue+"&archivo="+archivo,"Archivos","top=0 ,left=0 ,width=1000, height=600, scrollbars=yes, menubar=no, location=no, resizable=no");
}

function pop(pagina,ventana,parametros){
    window.open(pagina,ventana,parametros);
}

//SUB REQUERIMIENTOS
function nuevo(){
    clear_form_elements("#form_requerimientos");
    
    inicializarFechas();
    combo("/xmlc2/CombosServlet","Responsable",0,"responsable");  
    combo("/xmlc2/CombosServlet","Iteracion",2,"iteracion");  
    combo("/xmlc2/CombosServlet","Estado",3,"estado");  
    combo("/xmlc2/CombosServlet","Tiporequerimiento",4,"tipo"); 
    combo("/xmlc2/CombosServlet","Prioridad",5,"prioridad"); 
    
    $("#tipo option[value=1]").hide();
    $("#tipo option[value=2]").hide();

 $( "#dlg_requerimientos" ).dialog({
      resizable: false,
      height:700,
      width:550,
      modal: true,
      buttons: {
        "Guardar": function() {                
                $("#enviar").click();                
                if($("form")[1].checkValidity()){
                    guardar();
                    clear_form_elements("#form_requerimientos");
                    $( this ).dialog( "close" );
                    window.location.reload();
                }                    
            },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });
}

function inicializarFechas(){
    $("#sinicio").datepicker({ dateFormat: "yy-mm-dd" });
    $("#sfin").datepicker({ dateFormat: "yy-mm-dd" });
}

function guardar(){
    
    var datos=$("#form_requerimientos").serialize();
    
    $.ajax({
        url: "/xmlc2/RequerimientosServlet",
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            alert('Datos Ok');
        }
    });
}


//comentaios
function nuevocom(){
    $( "#dlg_comentarios" ).dialog({
      resizable: false,
      height:250,
      width:500,
      modal: true,
      buttons: {
        Guardar: function() {
             $("#enviarCom").click();                
                if($("form")[0].checkValidity()){                    
                    guardarCom();
                    clear_form_elements("#form_comentario");
                    listarComentarios($("#id_requerimiento").val());
                    $( this ).dialog( "close" );                    
                }
        },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
}

function guardarCom(){
    
    var datos=$("#form_comentario").serialize();
    
    $.ajax({
        url: "/xmlc2/ComentariosServlet?id="+$("#id_requerimiento").val(),
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            
        }
    });
}

function listarComentarios(id){
        $.ajax({
        url: "/xmlc2/ListaComentariosServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;Agreg&oacute; un comentario - <span class='time'>"+json[i].fecha+"</span></p>"
                                   // $detalles+="<p class='time'>"+json[i].fecha+"</p>";
                                    $detalles+="<p>"+json[i].comentario+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#coms").html($detalles);  
        }
    });
}


//avance
function nuevoava(){
    $( "#dlg_avance" ).dialog({
      resizable: false,
      height:300,
      width:350,
      modal: true,
      buttons: {
        Guardar: function() {
             $("#enviarAva").click();                
                if($("form")[0].checkValidity()){                    
                    guardarAva();
                    clear_form_elements("#form_avance");
                    //listarComentarios($("#id_requerimiento").val());
                    $( this ).dialog( "close" );     
                     window.location.reload();        
                }
        },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
}

function guardarAva(){
    
    var datos=$("#form_avance").serialize();
    
    $.ajax({
        url: "/xmlc2/AvanceServlet?id="+$("#id_requerimiento").val(),
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            
        }
    });

    $.ajax({
        url: "/xmlc2/TicketGlpiServlet",
        dataType: 'text',
        data: {id:1},
        async: false,
        success: function(msg){            
            
        }
    });    
    
    
    
    
}


/*function listarAva(id){
        $.ajax({
        url: "/xmlc2/ListaComentariosServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;Agreg&oacute; un comentaro - <span class='time'>"+json[i].fecha+"</span></p>"
                                   // $detalles+="<p class='time'>"+json[i].fecha+"</p>";
                                    $detalles+="<p>"+json[i].comentario+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#coms").html($detalles);  
        }
    });
}
*/


//cerrar
function nuevocer(){    
// if($("#avancereq").text()==="100%"){
    $( "#dlg_cerrar" ).dialog({
      resizable: false,
      height:250,
      width:500,
      modal: true,
      buttons: {
        Guardar: function() {
             $("#enviarCer").click();                
                if($("form")[0].checkValidity()){                    
                    guardarCer();
                    clear_form_elements("#form_cerrar");
                    //listarComentarios($("#id_requerimiento").val());
                    window.location.reload();         
                }
        },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
//}else{
//    alert("No se ha completado el requerimiento")
//}
}

function guardarCer(){    
    var datos=$("#form_cerrar").serialize();    
    $.ajax({
        url: "/xmlc2/CerrarServlet?id="+$("#id_requerimiento").val(),
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            
        }
    });
}


/*function listarAva(id){
        $.ajax({
        url: "/xmlc2/ListaComentariosServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;Agreg&oacute; un comentaro - <span class='time'>"+json[i].fecha+"</span></p>"
                                   // $detalles+="<p class='time'>"+json[i].fecha+"</p>";
                                    $detalles+="<p>"+json[i].comentario+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#coms").html($detalles);  
        }
    });
}
*/


//resolver
function nuevores(){
    combo("/xmlc2/CombosServlet","Responsable",0,"responsableRes");
    combo("/xmlc2/CombosServlet","Motivo",7,"motivoRes");
    $( "#dlg_resolver" ).dialog({
      resizable: false,
      height:500,
      width:500,
      modal: true,
      buttons: {
        Guardar: function() {
             $("#enviarRes").click();                
                if($("form")[0].checkValidity()){                    
                    guardarRes();
                    clear_form_elements("#form_resolver");
                    //listarComentarios($("#id_requerimiento").val());
                    //window.location.reload();         
                }
        },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
}

function guardarRes(){
    
    var datos=$("#form_resolver").serialize();
    
    $.ajax({
        url: "/xmlc2/ResolverServlet?id="+$("#id_requerimiento").val()+"&principalid="+$("#principalid").val(),
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            
        }
    });
}


/*function listarAva(id){
        $.ajax({
        url: "/xmlc2/ListaComentariosServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;Agreg&oacute; un comentaro - <span class='time'>"+json[i].fecha+"</span></p>"
                                   // $detalles+="<p class='time'>"+json[i].fecha+"</p>";
                                    $detalles+="<p>"+json[i].comentario+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#coms").html($detalles);  
        }
    });
}
*/

//reasignar
function nuevorea(){
    combo("/xmlc2/CombosServlet","Responsable",0,"responsableRea");
    $( "#dlg_reasignar" ).dialog({
      resizable: false,
      height:400,
      width:500,
      modal: true,
      buttons: {
        Guardar: function() {
             $("#enviarRea").click();                
                if($("form")[0].checkValidity()){                    
                    guardarRea();
                    clear_form_elements("#form_reasignar");
                    //listarComentarios($("#id_requerimiento").val());
                    window.location.reload();         
                }
        },
        Cancelar: function() {
          $( this ).dialog( "close" );
        }
      }
    });    
}

function guardarRea(){
    
    var datos=$("#form_reasignar").serialize();
    
    $.ajax({
        url: "/xmlc2/ReasignarServlet?id="+$("#id_requerimiento").val(),
        dataType: 'text',
        data: datos,
        async: false,
        success: function(msg){            
            
        }
    });
}


/*function listarAva(id){
        $.ajax({
        url: "/xmlc2/ListaComentariosServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;Agreg&oacute; un comentaro - <span class='time'>"+json[i].fecha+"</span></p>"
                                   // $detalles+="<p class='time'>"+json[i].fecha+"</p>";
                                    $detalles+="<p>"+json[i].comentario+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#coms").html($detalles);  
        }
    });
}
*/


//avance
function listarAvance(){
    
    $.ajax({
        url: "/xmlc2/TraerAvanceServlet",
        dataType: 'json',
        data: {id:$("#id_requerimiento").val(),tipo:$("#idtipo").val()},
        async: false,
        success: function(json){  
            if(json!==null){
                $("#fechaava").text(json[0]);
                               
                $("#porcava").css("width",(230*parseInt(json[2]))/100);
                $("#porcava").html(json[2]+"%");
                
                $("#etapaava").text(json[3]);
                $("#tiempoinv").text(json[5]+"H");
                $("#avance").val(json[2]);
                $("#tiempo").val(json[5]);                
            }else{                
                $("#avancereq").text("0%");                
                $("#avance").val(0);
                $("#tiempoinv").text("0H");                
                $("#tiempo").val(0);                
                
            }
        }
    });
}

function listarAcciones(id){
        $.ajax({
        url: "/xmlc2/ListaAccionesServlet",
        dataType: 'json',
        data: {id:id},
        async: false,
        success: function(json){ 
            var $detalles = "";            
            $.each(json,function (i) {                   
                    
                                $detalles+="<li style=\"font-size: smaller\">";
                                    $detalles+="<p><cite>"+json[i].autor+"</cite>&nbsp;&nbsp;"+json[i].mensaje+" - <span class='time'>"+json[i].fecha+"</span></p>"                                   
                                    $detalles+="<p>Con el motivo de: "+json[i].motivo+"</p>";                                      
                                $detalles+="</li>";
                            });
                $("#accs").html($detalles);  
        }
    });
}


function combo(url,tabla,tipo,objeto){
        $.ajax({
        url: url,
        dataType: 'text',
        data: {tabla:tabla,tipo:tipo},
        async: false,
        success: function(msg){            
            $("#"+objeto).html(msg);
        }
    });
}

function clear_form_elements(ele) {

    $(ele).find(':input').each(function() {
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'file':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });

}